var express = require('express');
var router = express.Router();
var sql = require('./../sql')
var xlsx = require('node-xlsx'); // 引入 数据导入模块
var uuid = require('node-uuid'); // 引入 以为的uuid
var Show = require('./../sql/col/show'); // 引入数据库操作模块


/**
 * @api {get}   api/show 获取类别列表数据
 * @apiDescription 获取类别列表数据
 * @apiGroup  show
 * @apiParam { json } Success-Response:
 * {
 * code:200,
 * message:"获取首页展示数据"，
 * data:data
 * }
 * @apiSampleRequest /api/show
 * @apiVersion 0.0.0
*/

router.get('/', function(req, res, next) {
  sql.find(Show, {}, { _id: 0 }).then((data) => {
    res.send({
      code: '200',
      message: '获取类别列表数据',
      data: data
    });
  })
});
// 上传文件
router.get('/upload',function(req,res,next){
  // 1. excel的绝对地址
  let fileStr = 'D:/proshow.xlsx'
  // 2. 得到数据后将他转为对象
  // res.send(fileStr)
  let fileData = xlsx.parse(fileStr)
  // res.send(fileData)
  // 3. 获取对应的表中数据  --- 一句excel表格中的数据排序
  let proarr = fileData[0].data
  // res.send(proarr)
  // 4. 遍历数据，组合数据
  let arr = []
  // res.send(proarr)
  proarr.map((item,index) => {
      if(index > 0 ){
          // 去除数据中的标题一栏
          let obj = {
              showid:'show_' + uuid.v1(), //产品的唯一值
              img: item[0],
              title: item[1],
              countdown: item[2],
              newgoods: item[3],
              discount: item[4],
              desc: item[5],
          }
          // 将数据放入到一个数组中
          arr.push(obj)
      }
  })
  // res.send(arr)
  // 5.插入数据库
  sql.insert(Show,arr).then( () => {
    res.send('插入数据成功')
  })
})

/**
 * @api {get}   api/show/pro 获取列表的数据
 * @apiDescription 获取列表的数据，可以传提不同的参数获取数据
 * @apiGroup  show
 * @apiParam { number } limit 每页显示的个数（默认值10）
 * @apiParam { number } count 当前页码（默认0）
 * @apiParam { json } Success-Response:
 * {
 * code:200,
 * message:"获取产品成功"，
 * data:data
 * }
 * @apiSampleRequest /api/show/pro
 * @apiVersion 0.0.0
*/

router.get('/pro', function(req, res, next) {
  // 不管是get还是post 获取到的参数都是字符串，需要转换
  let limit = req.query.limit * 1 || 5
  let count = req.query.count * 1 || 0

  sql.paging(Show, {}, { _id: 0 }, limit, count).then((data) => {
    res.send({
      code: '200',
      message: '获取产品列表数据',
      len: data.length, // 告诉用户请求了多少条数据
      data: data
    });
  })
});
module.exports = router;
